1. The Field of the Invention
This invention relates generally to architectures associated with computation and implementation of the discrete wavelet transform using the Recursive Pyramid Algorithm (RPA). More specifically, the present invention relates to adaptive size filters useful in calculating and implementing wavelet packet trees.
2. The Prior State of the Art
The discrete Fourier transform (DFT) is fundamental to a number of applications, but until the mid-1960s the computational complexity made DFT implementations prohibitively costly. Computational complexity was one factor that contributed to prevent DFT applications from gaining widespread acceptance, until Cooley and Tukey developed a fast algorithm for DFT calculation in 1965. The Cooley-Tukey discovery triggered enormous research activity both in the development of DFT applications and in the development of efficient computation algorithms for the DFT. At present, the DFT is most often implemented using a digital signal processor (DSP); as such, DSP architecture is often specifically tailored to enable the fast computation of the DFT.
The advance of filter banks and transforms in the 1980s resulted in a similar resurgence of research activity related to the DFT, one significant research advance was the development of the Discrete Wavelet Transform (DWT). The DWT or wavelet transform is a multi-resolution decomposition of a signal, where an original signal is decomposed into various signal components at different frequency levels or octave bands. Wavelet transforms provide a time-scale representation of signals as an alternative to traditional time-frequency representations. The wavelet transform is very efficient for multi-resolution sub-band decomposition of signals.
The wavelet transform provides superior performance when compared with other orthogonal transforms like the discrete cosine transform (DCT) and the discrete Fourier transform (DFT). The primary reasons that the DWT is considered better than either a DFT or DCT are because the DWT tiles the time frequency plane in a general fashion and thus possesses inherent scalability.
It is well known and appreciated that the wavelet transform provides numerous advantages. Presently, the main applications for DWT and wavelet transforms are in image and speech signal compression, multi-carrier modulation, and solving partial differential equations. Wavelets will play a very important role in the converged communication networks of the future.
Unfortunately, one of the main disadvantages of the wavelet transform is their complexity; most of the known DWT require intensive computations and parallel processing for real time applications. This means that wavelet transforms generally cost more to implement than the comparable DCT or DFT solutions. As a result, the vast majority of multi-carrier modulation modems for high-speed communications over copper wire use DFT applications and the majority of commercially available video compressors are based on DCT applications. What is needed is an architecture that is able to reduce the cost of implementing wavelet transforms and thereby be able to offer superior products at attractive prices.
DWT can also be viewed as a multi-resolution decomposition of a discrete-time sequence. For example, the DWT decomposes a discrete-time sequence: a={a0, a1, . . . , anxe2x88x921} into a high pass sub-band:   b  =      {                  b        0            ,              b        1            ,      …      ⁢              xe2x80x83            ,              b                              n            2                    -          1                      }  
and a low pass sub-band:   c  =      (                  c        0            ,              c        1            ,      …      ⁢              xe2x80x83            ,              c                              n            2                    -          1                      )  
that can be represented as:       b    n    =                    ∑        k            ⁢              xe2x80x83            ⁢                        h                                    2              ⁢              n                        -            k                          ⁢                  a          k                ⁢                  xe2x80x83                ⁢        and        ⁢                  xe2x80x83                ⁢                  c          n                      =                  ∑        k            ⁢              xe2x80x83            ⁢                        g                                    2              ⁢              n                        -            k                          ⁢                  a          k                    
respectively. After the two-channel filter pair or bank is designed, a wavelet packet tree can be obtained by recursively iterating the two-channel construction. In communications applications, equiripple low pass and high pass filters are normally used, because they provide maximum attenuation for a given filter length and transition bandwidth. It is important to note that even though the filters in the two-channel filter bank are equiripple, the resulting filters from the recursive iteration of the filter bank are not. In fact, one skilled in the art realizes that each iteration of the filter bank tree decreases the stop-band attenuation, whereupon the stop-band attenuation for the filter bank tree will eventually not be satisfied. What is needed is a filter bank tree that uses different size filters on each octave level of the tree. Such a device would allow exactly as many coefficients as are necessary to satisfy the specifications for each octave level of the tree.
Finally, what is needed is a system and method that efficiently implements a wavelet packet tree, which uses different filter coefficients on each octave level of the wavelet packet tree. Therefore, it would be an advance to provide a method and system that is capable of reducing the hardware necessary for the implementation of such a wavelet packet tree.
An advantage of the invention is that it reduces the cost of implementing a wavelet packet tree by using the same hardware for each octave and is thereby able to offer superior products at attractive prices. Using a filter bank that can utilize different size filters on each octave level of the wavelet packet tree, the present invention allows for exactly as many coefficients as are necessary to satisfy the specification for each octave level of the wavelet packet tree. A related advantage of the invention is that it facilitates the implementation of a multi-resolution decomposition or signal analysis and multi-resolution reconstruction or signal synthesis through a wavelet packet tree while recursively using the same hardware for filtration of a representative signal.
In the preferred embodiment of this invention, the advantageous characteristic of orthogonal filter bank trees, which utilize different filters on each octave level of the tree so that the number of multiplications per octave remains approximately constant, is exploited in a hardware implementation. More specifically, this characteristic enables the same hardware to be used in consecutive computations. The preferred embodiment of the present invention also takes advantage of the fact that the total number of all filter coefficients for a given octave will be the same at each octave level. For example, at the first octave a signal may require eight coefficients or taps per filter bank for a total of 16 coefficients. At the second octave, there may be four filters with four coefficients for a net total of 16 coefficients. The third octave may use 8 filters with two coefficients for a total of 16 coefficients. From this example it can be seen that the sum of all filter coefficients for a given octave does not change due to the branching of the filter bank tree between octaves.
The present invention also takes advantage of the properties related to orthogonal filter banks in that the high pass filter coefficients are the time reversed coefficients of the low pass filter with alternating sign changes. This property has not been used in prior two channel orthogonal filter bank implementations and allows a further reduction in the computational complexity by 50%. A detailed description of the appropriate wavelet packet tree using the RPA is described in U.S. patent application Ser. No. 09/388,754, incorporated in its entirety herein by reference.
The present invention further takes advantage of an efficient algorithm called the recursive pyramid algorithm (RPA), one of the most efficient implementations of the DWT for VLSI applications. However, due to the heavy reliance on the structure shown in FIG. 4, when implementing a wavelet packet tree as shown in FIGS. 2 and 5, the RPA does not function properly due to the decomposition and reconstruction of both the high pass and low pass channels. As shown in FIG. 2, decimation or downsampling, as depicted at the output of each filter in FIG. 4, is part of the DWT. The RPA relies on the fact that the high pass channel will not be decomposed any further, thus rendering it unusable for wavelet packet trees which continue to decompose each octave. The present invention provides an RPA for wavelet packet trees. In the preferred embodiment of the invention, each level or octave of the wavelet packet tree uses a different size filter. In this way on every level of the tree, the preferred embodiment can use exactly as many filter coefficients as are necessary to satisfy the specifications. The number of filter coefficients, N, necessary when using this approach is proportional to the octave or level of the tree and the number of leaves. This approach requires fewer filter coefficients, which translates into fewer MIPS by the DSP or filter.
One embodiment of the present invention describes a filter architecture that will adapt its size so that RPA can be used when implementing a wavelet packet tree. Thus, if a filter bank is prepared for a first octave, the second filter may be computed using the same filter by dividing the first filter into two filters with half the taps of the initial filter, in effect doubling the number of filters. What is needed is to divide the first filter into two filters in the computation of the second octave is to open an output gate splitting the taps into two equal portions. Thus, the second octave can be computed using the same hardware that was used to calculate the first octave, demonstrating how the wavelet packet can be computed using the RPA with no additional hardware costs. The filters adaptive size can be designed to be generic so that given a maximum number of taps in a given octave the filter will be scalable to all other octave levels below the first octave as is depicted in FIG. 1.
The present invention can be combined with the previous inventions to achieve even more efficient implementations. Additional objects and advantages of the invention will be set forth in the description which follows, and in part will be obvious from the description, or may be learned by the practice of the invention. The objects and advantages of the invention may be realized and obtained by means of the instruments and combinations particularly pointed out in the appended claims.